package action;

import java.util.ArrayList;
import java.util.Collection;

import persistence.VeiculoDAO;

import model.Instituicao;
import model.Veiculo;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Preparable;


public class ConsultaVeiculoAction extends ActionSupport implements Preparable{
	
	private Collection<Object> veiculos;
	
	private Collection<String> situacoesPossiveis;
	
	private Collection<String> categoriasPossiveis;
	
	public Veiculo veiculo;
	
	public String input(){
		System.out.println("############## Input do Consulta");
		return INPUT;
	}
	
	public String consultaVeiculo(){
		System.out.println("############## consulta Veiculo");		
		//TODO acessa o BD e pega os veiculos que casam com as propriedades deste veiculo
		// veiculos = lista pega no BD
		veiculos = VeiculoDAO.getInstance().getVeiculosAccordingTo(veiculo);

	//TODO for test
//		veiculos = new ArrayList<Veiculo>();
//		veiculos.add(new Veiculo("kkt9791", "passeio", "informado", new Instituicao()));
		return SUCCESS;
	}
	
	public void prepare() throws Exception {
		//Inicia a lista de situacao		
		situacoesPossiveis = Veiculo.getSituacoesPossiveis();
		//Inicia a lista de categorias
		categoriasPossiveis = Veiculo.getCategoriasPossiveis();		
	}
	
	public Collection<Object> getVeiculos() {
		return veiculos;
	}

	public void setVeiculos(Collection<Object> veiculos) {
		this.veiculos = veiculos;
	}

	public Veiculo getVeiculo() {
		return veiculo;
	}

	public void setVeiculo(Veiculo veiculo) {
		this.veiculo = veiculo;
	}

	public Collection<String> getSituacoesPossiveis() {
		return situacoesPossiveis;
	}

	public void setSituacoesPossiveis(Collection<String> situacoesPossiveis) {
		this.situacoesPossiveis = situacoesPossiveis;
	}

	public Collection<String> getCategoriasPossiveis() {
		return categoriasPossiveis;
	}

	public void setCategoriasPossiveis(Collection<String> categoriasPossiveis) {
		this.categoriasPossiveis = categoriasPossiveis;
	}
}
